package com.ray.mapper;

import java.util.List;
import java.util.Map;

import com.ray.bean.AdvancePaymentBean;
import com.ray.bean.QCReportBean;
import com.ray.bean.RecruitApplyBean;
import com.ray.bean.SearchWhereBean;
import com.ray.pojo.MaterialSelectFilterPojo;

/**
 * 用户筛选查询的物料
* <p>Title: MaterialSelectFilterMapper</p>  
* <p>Description: </p>  
* @author 李斌  
* @date 2018年7月19日
 */
public interface MaterialSelectFilterMapper {
	
	/**
	 * 订单未生成投料单物料信息查询过滤信息
	* @date 2018年7月19日 下午4:23:36 
	* @author 李斌
	* @return List<MaterialSelectFilterPojo> 
	* @throws
	 */
	List<MaterialSelectFilterPojo> getOrderMaterialDataOnNotFeedOrder(Map<String, Object> map);

	/**
	 * 
	* @date 2018年7月19日 下午4:50:46 
	* @author 李斌
	* @return List<MaterialSelectFilterPojo> 
	* @throws 
	 */
	List<MaterialSelectFilterPojo> getFeedOrderMaterialDataOnNotIsBuild(Map<String, Object> map);
	
	/**
	 * 采购单可查询物料信息,查询过滤信息(不分订单采购和库存采购)
	* @date 2018年7月19日 下午5:08:25 
	* @author 李斌
	* @return List<MaterialSelectFilterPojo> 
	* @throws
	 */
	List<MaterialSelectFilterPojo> getPurchaseOrderMaterialData(Map<String, Object> map);
	
	/**
	 * 出入库查询物料信息,查询过滤信息(原料仓/辅料仓)
	* @date 2018年7月24日 下午2:51:56 
	* @author 李斌
	* @return List<MaterialSelectFilterPojo> 
	* @throws
	 */
	List<MaterialSelectFilterPojo> getWarehouseInOutData(Map<String, Object> map);
//	/**
//	 * 出入库查询物料信息,查询过滤信息(成品仓)
//	* @date 2018年8月20日 下午2:16:36 
//	* @author 李斌
//	* @return List<MaterialSelectFilterPojo> 
//	* @throws
//	 */
//	List<MaterialSelectFilterPojo> getOtherWarehouseByOrder(Map<String, Object> map);
	
	
	/**
	 * 仓库原材料统计(筛选条件)
	* @date 2018年8月15日 下午2:04:39 
	* @author 李斌
	* @return List<MaterialSelectFilterPojo> 
	* @throws
	 */
	List<MaterialSelectFilterPojo> getMaterialSumMoneyData(Map<String, Object> map);
	
	/**
	 * 获取已审核的投料单物料订单筛选条件
	* @date 2018年8月25日 上午11:09:03 
	* @author 李斌
	* @return List<MaterialSelectFilterPojo> 
	* @throws
	 */
	List<MaterialSelectFilterPojo> getCreatePurchaseOrderData(Map<String, Object> map);
	
	/**
	 * 生成预采购单筛选条件
	* @date 2018年8月27日 上午9:26:39 
	* @author 李斌
	* @return List<MaterialSelectFilterPojo> 
	* @throws
	 */
	List<MaterialSelectFilterPojo> getAdvancePurchaseData(Map<String, Object> map);
	
	/**
	 * 发料单查询条件
	* @date 2018年9月6日 下午5:11:13 
	* @author 李斌
	* @return List<MaterialSelectFilterPojo> 
	* @throws
	 */
	List<MaterialSelectFilterPojo> getIssueNoteData(Map<String, Object> map);
	
	/**
	 * 发料单领料单查询条件
	* @date 2018年9月8日 上午10:36:23 
	* @author 李斌
	* @return List<MaterialSelectFilterPojo>  
	* @throws
	 */
	List<MaterialSelectFilterPojo> getFeedOrderMaterialData(Map<String,Object> map);
	
	/**
	 * 获取采购未入库的查询条件
	* @date 2018年9月8日 下午2:48:41 
	* @author 李斌
	* @return List<MaterialSelectFilterPojo> 
	* @throws
	 */
	List<MaterialSelectFilterPojo> getPurchaseOrderNotFinish(Map<String, Object> map);
	
	/**
	 * 获取入库结算查询条件
	* @date 2018年9月30日 上午10:40:43 
	* @author 李斌
	* @return List<MaterialSelectFilterPojo> 
	* @throws
	 */
	List<MaterialSelectFilterPojo> getWarehouseInSumMoneyData(Map<String, Object> map);
	
	/**
	 * 获取物料清单查下条件
	* @date 2018年10月13日 上午9:21:46 
	* @author 李斌
	* @return List<MaterialSelectFilterPojo> 
	* @throws
	 */
	List<MaterialSelectFilterPojo> getOrderInfoDetailBOM(Map<String, Object> map);
	
	/**
	 * 获取成品仓可出库的订单信息
	 * @param map
	 * @return
	 */
	List<MaterialSelectFilterPojo> getProductOutOrderData(Map<String, Object> map);
	
	/**
	 * 获取未生产的订单物料信息
	 * @param map
	 * @return
	 */
	List<MaterialSelectFilterPojo> getOrderInfoDetailByNotProduct(Map<String, Object> map);
	
	/**
	 * 查询备份记录
	 * @param map
	 * @return
	 */
	List<MaterialSelectFilterPojo> getDuplicateOrderData(Map<String, Object> map);
	
	/**
	 * 查询可退回的物料信息
	 * @param map
	 * @return
	 */
	List<MaterialSelectFilterPojo> getCreateReturnToProvderData(Map<String, Object> map);
	
	/**
	 * 查询生成的退货单物料信息
	 * @param map
	 * @return
	 */
	List<MaterialSelectFilterPojo> getQueryReturnToProviderData(Map<String, Object> map);
	
	/**
	 * 查询可退回入库的物料信息
	 * @param map
	 * @return
	 */
	List<MaterialSelectFilterPojo> createInCountToProviderData(Map<String, Object> map);
	
	/**
	 * 查询已退回入库的物料信息
	 * @param map
	 * @return
	 */
	List<MaterialSelectFilterPojo> queryInCountToProviderData(Map<String, Object> map);
	
	/**
	 * 查询生成返料单的查询信息
	 * @param map
	 * @return
	 */
	List<MaterialSelectFilterPojo> createReturnToWorkshopData(Map<String, Object> map);
	
	/**
	 * 查询退回到车间的返料单
	 * @param map
	 * @return
	 */
	List<MaterialSelectFilterPojo> getReturnToWorkshopData(Map<String, Object> map);

	/**
	 * 获取出库盘点筛选条件
	 * @param map
	 * @return
	 */
	List<MaterialSelectFilterPojo> outBalanceSelect(Map<String, Object> map);

	/**
	 * 查询需退回数据筛选
	 * @param map
	 * @return
	 */
	List<MaterialSelectFilterPojo> workShopNeedReturnMaterial(Map<String, Object> map);

	/**
	 * 获取收付款记录收付款商
	 * @param map
	 * @return
	 */
	List<String> paymentRecordCustomerName(Map<String, Object> map);

	/**
	 * 查询员工日报表筛选
	 * @param map
	 * @return
	 */
	List<SearchWhereBean> queryEmployeeDailyWhere(Map<String, Object> map);

	/**
	 * 车间物料库存查询条件
	 * @param map
	 * @return
	 */
	List<SearchWhereBean> workShopWarehouseMaterialWhere(Map<String, Object> map);

	/**
	 * 订单库存查询条件
	 * @param map
	 * @return
	 */
	List<SearchWhereBean> getOrderMaterialStockCountWhere(Map<String, Object> map);

	/**
	 * 成品库存查询
	 * @param map
	 * @return
	 */
	List<MaterialSelectFilterPojo> finishStockSearch(Map<String, Object> map);

	/**
	 * 查询换单查询条件
	 * @param map
	 * @return
	 */
	List<Map> changeOrderSelect(Map<String, Object> map);

	/**
	 * 查询qc报工条件
	 * @param map
	 * @return
	 */
	List<QCReportBean> qcReportSelect(Map<String, Object> map);

	/**
	 * 
	 * @param map
	 * @return
	 */
	List<QCReportBean> qcReportDisplaySelect(Map<String, Object> map);

	/**
	 * 获取预收付款查询条件
	 * @param map
	 * @return
	 */
	List<AdvancePaymentBean> advancePaySelect(Map<String, Object> map);

	/**
	 * 获取查询招聘信息查询条件的接口
	 * @param map
	 * @return
	 */
	List<RecruitApplyBean> getApplyRecruitSelect(Map map);
	
}
